/* * generated by Xtext */ package org.eclipse.xtext.xdoc.formatting; import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter; import org.eclipse.xtext.formatting.impl.FormattingConfig; import org.eclipse.xtext.xdoc.services.XdocGrammarAccess; /** * This class contains custom formatting description. * * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#formatting * on how and when to use it * * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example */ public class XdocFormatter extends AbstractDeclarativeFormatter { @Override protected void configureFormatting(FormattingConfig c) { XdocGrammarAccess grammarAccess = (XdocGrammarAccess) getGrammarAccess(); c.setAutoLinewrap(120); c.setLinewrap(2, 2, 3).between(grammarAccess.getTextOrMarkupRule(), grammarAccess.getTextOrMarkupRule()); c.setNoSpace().around(grammarAccess.getWSRule()); c.setNoSpace().around(grammarAccess.getANY_WSRule()); c.setNoSpace().around(grammarAccess.getMULTI_NLRule()); configureChapter(c, grammarAccess); configureSection(c, grammarAccess); configureSection2(c, grammarAccess); configureSection3(c, grammarAccess); configureSection4(c, grammarAccess); configureCodeBlock(c, grammarAccess); configureCodeRef(c, grammarAccess); configureRef(c,grammarAccess); configureEm(c, grammarAccess); configureTextPart(c, grammarAccess); configureTables(c, grammarAccess); configureLists(c, grammarAccess); } private void configureCodeRef(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoSpace().around(grammarAccess.getCodeRefAccess().getCodeRefKeyword_1()); c.setNoSpace().around(grammarAccess.getCodeRefAccess().getRightSquareBracketKeyword_3()); } private void configureTables(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setIndentationIncrement().after(grammarAccess.getTableAccess().getTableKeyword_1()); c.setIndentationDecrement().before(grammarAccess.getTableAccess().getRightSquareBracketKeyword_4()); c.setNoSpace().after(grammarAccess.getTableRowAccess().getTrKeyword_1()); c.setNoSpace().around(grammarAccess.getTableRowAccess().getRightSquareBracketKeyword_4()); c.setNoSpace().after(grammarAccess.getTableDataAccess().getTdKeyword_1()); // c.setNoSpace().after(grammarAccess.getTableDataAccess().getGroup_2()); c.setNoSpace().before(grammarAccess.getTableDataAccess().getRightSquareBracketKeyword_3()); } private void configureLists(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setIndentationIncrement().after(grammarAccess.getItemAccess().getItemKeyword_1()); c.setIndentationDecrement().before(grammarAccess.getItemAccess().getRightSquareBracketKeyword_3()); c.setIndentationIncrement().before(grammarAccess.getItemAccess().getItemKeyword_1()); c.setIndentationDecrement().after(grammarAccess.getItemAccess().getRightSquareBracketKeyword_3()); // c.setIndentationIncrement().after(grammarAccess.getOrderedListAccess().getOlKeyword_1()); // c.setIndentationDecrement().before(grammarAccess.getOrderedListAccess().getRightSquareBracketKeyword_4()); // // c.setIndentationIncrement().after(grammarAccess.getUnorderedListAccess().getUlKeyword_1()); // c.setIndentationDecrement().before(grammarAccess.getUnorderedListAccess().getRightSquareBracketKeyword_4()); c.setNoSpace().around(grammarAccess.getItemRule()); c.setLinewrap(1,2,2).between(grammarAccess.getItemRule(), grammarAccess.getItemRule()); // c.setLinewrap(1,1,1).after(grammarAccess.getItemAccess().getItemKeyword_1()); c.setLinewrap(0,1,1).before(grammarAccess.getItemAccess().getRightSquareBracketKeyword_3()); } private void configureTextPart(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoSpace().before(grammarAccess.getTextPartRule()); } private void configureRef(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoSpace().around(grammarAccess.getRefAccess().getRefKeyword_0()); c.setNoSpace().around(grammarAccess.getRefAccess().getLeftSquareBracketKeyword_2_0()); c.setNoSpace().before(grammarAccess.getRefAccess().getRightSquareBracketKeyword_2_3()); } private void configureCodeBlock(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoLinewrap().between(grammarAccess.getCodeBlockAccess().getLeftSquareBracketKeyword_2_5(), grammarAccess.getCodeBlockAccess().getRightSquareBracketKeyword_4()); c.setNoSpace().around(grammarAccess.getCodeBlockAccess().getLeftSquareBracketKeyword_2_5()); c.setNoSpace().around(grammarAccess.getCodeBlockAccess().getCodeKeyword_1()); c.setNoSpace().around(grammarAccess.getCodeBlockAccess().getRightSquareBracketKeyword_2_3()); c.setNoSpace().before(grammarAccess.getCodeBlockAccess().getRightSquareBracketKeyword_4()); } private void configureChapter(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoSpace().after(grammarAccess.getChapterAccess().getChapterKeyword_1_0_0_0()); c.setNoSpace().after(grammarAccess.getChapterAccess().getChapterKeyword_1_0_1()); c.setNoSpace().around(grammarAccess.getChapterAccess().getLeftSquareBracketKeyword_1_0_0_2()); c.setNoSpace().before(grammarAccess.getChapterAccess().getRightSquareBracketKeyword_1_2()); } private void configureSection(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoSpace().after(grammarAccess.getSectionAccess().getSectionKeyword_1_0_0_0()); c.setNoSpace().after(grammarAccess.getSectionAccess().getSectionKeyword_1_0_1()); c.setNoSpace().around(grammarAccess.getSectionAccess().getLeftSquareBracketKeyword_1_0_0_2()); c.setNoSpace().around(grammarAccess.getSectionAccess().getRightSquareBracketKeyword_1_2()); } private void configureSection2(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoSpace().after(grammarAccess.getSection2Access().getSection2Keyword_1_0_0_0()); c.setNoSpace().after(grammarAccess.getSection2Access().getSection2Keyword_1_0_1()); c.setNoSpace().around(grammarAccess.getSection2Access().getLeftSquareBracketKeyword_1_0_0_2()); c.setNoSpace().around(grammarAccess.getSection2Access().getRightSquareBracketKeyword_1_2()); } private void configureSection3(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoSpace().after(grammarAccess.getSection3Access().getSection3Keyword_0_0_0()); c.setNoSpace().after(grammarAccess.getSection3Access().getSection3Keyword_0_1()); c.setNoSpace().around(grammarAccess.getSection3Access().getLeftSquareBracketKeyword_0_0_2()); c.setNoSpace().around(grammarAccess.getSection3Access().getRightSquareBracketKeyword_2()); } private void configureSection4(FormattingConfig c, XdocGrammarAccess grammarAccess) { c.setNoSpace().after(grammarAccess.getSection4Access().getSection4Keyword_0_0_0()); c.setNoSpace().after(grammarAccess.getSection4Access().getSection4Keyword_0_1()); c.setNoSpace().around(grammarAccess.getSection4Access().getLeftSquareBracketKeyword_0_0_2()); c.setNoSpace().around(grammarAccess.getSection4Access().getRightSquareBracketKeyword_2()); } private void configureEm(FormattingConfig c, XdocGrammarAccess grammarAccess){ c.setNoSpace().after(grammarAccess.getEmphasizeAccess().getEKeyword_1()); c.setNoSpace().before(grammarAccess.getEmphasizeAccess().getRightSquareBracketKeyword_3()); } }